Repository navigation
Conversation
This comment was marked as resolved.
This comment was marked as resolved.
|
@didierofrivia interested in your thoughts on this proposal |
|
@araujof can move out of draft but wanted your throughts on the POC implementation and whether it is close to how we would actually want to do this? |
|
Note this does not currently cover storage in external store |
2c6518a to
cb3faf6
Compare
|
Thanks for putting this together, @maleck13. Running Limitador in process looks promising, especially if it removes a service hop from each check. I have two comments on the implementation and a broader suggestion for the plugin design. Implementation
Direction We already have an experimental
I'd define a typed PPE The quota plugin already has a private From PPE's perspective, we probably don't want the embedded Redis backend to depend on Lua scripts. Limitador v0.13 accepts a Redis connection manager, but uses |
|
I'm just curious, Are we going to want to rate limit on things like:
Should the counter keys be configurable and composable? I think HTTP will be valuable but I could see situations where semantic rate limiting could be useful. |
|
I agree a fork is a reasonable way to go right now and aligning the client versions makes sense. However on the Lua scripts, I would defer to @alexsnaps as it is not clear what we would be losing here or what the viable alternative would be. |
Signed-off-by: craig <cbrookes@redhat.com>
Signed-off-by: craig <cbrookes@redhat.com>
…es and be tested through a real gateway Signed-off-by: craig <cbrookes@redhat.com>
Signed-off-by: craig <cbrookes@redhat.com>
…will work with limitador Define follow on work and limitations of this first experimental plugin Signed-off-by: craig <cbrookes@redhat.com>
9950272 to
e4a7ff3
Compare
|
possibly relates to this enhancement praxis-proxy/enhancements#25 |
|
@araujof Just to confirm that I understood your suggestion on the plugin design. You are advocating one plugin two orthogonal config dimensions: plugins:
- name: my-limiter
kind: limitador # ONE public kind
config:
mode: token # request | token ← what you meter
backend: service # embedded | service ← where counters live
...Is that right? One thing to pin down in
What were your thoughts on this |
Once we have redis support in the plugin, I wonder is the backend service type even needed. I would like to think it isn't but perhaps I am missing the use case? |
@eguzki Yes, one public Limitador kind is the direction I had in mind. I meant @maleck13 I agree that embedded Limitador with shared storage could make a separate service unnecessary for a PPE-only deployment. Redis support alone would not make it a drop-in replacement for the existing |
Closes #152
Draft proposal plus POC code to prove out some of the assumptions. Introduces Limitador a plugin to PPE defines a rate limit plugin that can then be invoked. Backend storage and TokenRateLimiting not included currently
Highly exprimental at the moment. But shows the intended direction